home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ETO Development Tools 4
/
ETO Development Tools 4.iso
/
Tools - Objects
/
Macintosh Programmer’s Workshop
/
MPW 3.1
/
MPW
/
Interfaces
/
CIncludes
/
OSUtils.h
< prev
next >
Wrap
Text File
|
1990-12-13
|
5KB
|
194 lines
/************************************************************
Created: Tuesday, September 19, 1989 at 11:22 AM
OSUtils.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1989
All rights reserved
Dont use:
-SetUpA5
-RestoreA5
Instead:
SetUpA5 --> myA5 = SetCurrentA5();
RestoreA5 --> oldA5 = SetA5(myA5);
************************************************************/
#ifndef __OSUTILS__
#define __OSUTILS__
#ifndef __TYPES__
#include <Types.h>
#endif
#define useFree 0
#define useATalk 1
#define useAsync 2
#define useExtClk 3 /*Externally clocked*/
#define useMIDI 4
#define curSysEnvVers 2 /*Updated to equal latest SysEnvirons version*/
#define macXLMachine 0
#define macMachine 1
#define envMac -1 /*Environs Equates*/
#define envXL -2
#define envMachUnknown 0
#define env512KE 1
#define envMacPlus 2
#define envSE 3
#define envMacII 4
#define envMacIIx 5
#define envMacIIcx 6
#define envSE30 7
#define envPortable 8
#define envMacIIci 9
#define envCPUUnknown 0 /*CPU types*/
#define env68000 1
#define env68010 2
#define env68020 3
#define env68030 4
#define envUnknownKbd 0 /*Keyboard types*/
#define envMacKbd 1
#define envMacAndPad 2
#define envMacPlusKbd 3
#define envAExtendKbd 4
#define envStandADBKbd 5
#define envPortADBKbd 6
#define envPortISOADBKbd 7
#define envStdISOADBKbd 8
#define envExtISOADBKbd 9
#define false32b 0 /*24 bit addressing error*/
#define true32b 1 /*32 bit addressing error*/
/* result types for RelString Call */
#define sortsBefore -1 /*first string < second string*/
#define sortsEqual 0 /*first string = second string*/
#define sortsAfter 1 /*first string > second string*/
enum {dummyType,vType,ioQType,drvQType,evType,fsQType };
typedef unsigned short QTypes;
enum {OSTrap,ToolTrap};
typedef unsigned char TrapType;
struct SysParmType {
char valid;
char aTalkA;
char aTalkB;
char config;
short portA;
short portB;
long alarm;
short font;
short kbdPrint;
short volClik;
short misc;
};
typedef struct SysParmType SysParmType;
typedef SysParmType *SysPPtr;
struct QElem {
struct QElem *qLink;
short qType;
short qData[1];
};
typedef struct QElem QElem;
typedef QElem *QElemPtr;
struct QHdr {
short qFlags;
QElemPtr qHead;
QElemPtr qTail;
};
typedef struct QHdr QHdr;
typedef QHdr *QHdrPtr;
struct DateTimeRec {
short year;
short month;
short day;
short hour;
short minute;
short second;
short dayOfWeek;
};
typedef struct DateTimeRec DateTimeRec;
struct SysEnvRec {
short environsVersion;
short machineType;
short systemVersion;
short processor;
Boolean hasFPU;
Boolean hasColorQD;
short keyBoardType;
short atDrvrVersNum;
short sysVRefNum;
};
typedef struct SysEnvRec SysEnvRec;
#ifdef __cplusplus
extern "C" {
#endif
pascal SysPPtr GetSysPPtr(void);
pascal void SysBeep(short duration)
= 0xA9C8;
pascal long KeyTrans(Ptr transData,short keycode,long *state)
= 0xA9C3;
pascal OSErr DTInstall(QElemPtr dtTaskPtr);
pascal char GetMMUMode(void);
pascal void SwapMMUMode(char *mode);
pascal OSErr SysEnvirons(short versionRequested,SysEnvRec *theWorld);
pascal OSErr ReadDateTime(unsigned long *time);
pascal void GetDateTime(unsigned long *secs);
pascal OSErr SetDateTime(unsigned long time);
pascal void SetTime(const DateTimeRec *d);
pascal void GetTime(DateTimeRec *d);
pascal void Date2Secs(const DateTimeRec *d,unsigned long *s);
pascal void Secs2Date(unsigned long s,DateTimeRec *d);
pascal void Delay(long numTicks,long *finalTicks);
pascal long GetTrapAddress(short trapNum);
pascal void SetTrapAddress(long trapAddr,short trapNum);
pascal long NGetTrapAddress(short trapNum,TrapType tTyp);
pascal void NSetTrapAddress(long trapAddr,short trapNum,TrapType tTyp);
pascal OSErr WriteParam(void);
pascal Boolean EqualString(const Str255 str1,const Str255 str2,Boolean caseSens,
Boolean diacSens);
Boolean equalstring(char *str1,char *str2,Boolean caseSens,Boolean diacSens);
pascal void UprString(Str255 theString,Boolean diacSens);
void uprstring(char *theString,Boolean diacSens);
pascal void Enqueue(QElemPtr qElement,QHdrPtr qHeader);
pascal OSErr Dequeue(QElemPtr qElement,QHdrPtr qHeader);
pascal long SetCurrentA5(void)
= {0x2E8D,0x2A78,0x0904};
pascal long SetA5(long newA5)
= {0x2F4D,0x0004,0x2A5F};
pascal void Environs(short *rom,short *machine);
pascal void Restart(void);
pascal short RelString(const Str255 str1,const Str255 str2,Boolean caseSens,
Boolean diacSens);
short relstring(char *str1,char *str2,Boolean caseSens,Boolean diacSens);
pascal OSErr HandToHand(Handle *theHndl);
pascal OSErr PtrToXHand(Ptr srcPtr,Handle dstHndl,long size);
pascal OSErr PtrToHand(Ptr srcPtr,Handle *dstHndl,long size);
pascal OSErr HandAndHand(Handle hand1,Handle hand2);
pascal OSErr PtrAndHand(Ptr ptr1,Handle hand2,long size);
pascal OSErr InitUtil(void)
= {0xA03F,0x3E80};
pascal Boolean SwapInstructionCache(Boolean cacheEnable);
pascal void FlushInstructionCache(void);
pascal Boolean SwapDataCache(Boolean cacheEnable);
pascal void FlushDataCache(void);
#ifdef __cplusplus
}
#endif
#endif